package ru.mirent.url;

import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.function.Function;

// TODO Написать тесты
public class UrlPath implements Function<String, String> {

    @Override
    public String apply(String url) {
        StringBuilder result = new StringBuilder();
        try {
            // Дополнительное преобразование в класс URL требуется для проверки корректности, т.к. класс
            // URI имеет более широкую спецификацию и в случае ошибки не обработает ее.
            URI uri = new URL(url).toURI();
            result.append(uri.getPath());
        } catch (MalformedURLException | URISyntaxException e) {
            throw new RuntimeException(e);
        }

        return result.toString();
    }
}
